package com.zzyl.mapper;

import com.zzyl.dto.DevicePageQueryDto;
import com.zzyl.entity.Device;
import com.zzyl.vo.DeviceVo;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * @author ffk
 * @date 2024/5/23 20:10
 */
@Mapper
public interface DeviceMapper {
    List<DeviceVo> getAllDeviceByPage(DevicePageQueryDto devicePageQueryDto);

    Long countDeviceByName(String deviceName);

    void insertSelective(Device device);

    DeviceVo selectByIotId(String iotId);

    void updateDevice(Device device);

    void deleteDeviceById(String iotId);

    Long countDeviceByNickName(String nickName);

    Device selectByPrimaryKey(Long id);

    //监测的设备随身设备，直接绑定的是老人  可以通过老人id找到护理员的id
    List<Long> selectNursingIdsByIotIdWithElder(String iotId);

    //监测的设备固定设备（床位），需要通过床位id关联找到老人然后通过老人id找到护理员的id
    List<Long> selectNursingIdsByIotIdWithBed(String iotId);

}
